package br.unicamp.ft.sahp.model.entidades;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "Questao")
public class Questao implements Serializable {
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	private String descricaoQuestao;
	@ManyToMany
	private List<Questionario> questionarios = new ArrayList<Questionario>();
	@OneToMany
	private List<Resposta> respostas = new ArrayList<Resposta>();
	
	@Transient
	private boolean selecionado = false;
	@Transient
	private String resposta;
	
	
	/**
	 * @return the selecionado
	 */
	public boolean isSelecionado() {
		return selecionado;
	}
	
	/**
	 * @param selecionado the selecionado to set
	 */
	public void setSelecionado(boolean selecionado) {
		this.selecionado = selecionado;
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}
	
	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}
	
	/**
	 * @return the descricaoQuestao
	 */
	public String getDescricaoQuestao() {
		return descricaoQuestao;
	}
	
	/**
	 * @param descricaoQuestao the descricaoQuestao to set
	 */
	public void setDescricaoQuestao(String descricaoQuestao) {
		this.descricaoQuestao = descricaoQuestao;
	}
	
	/**
	 * @return the questionarios
	 */
	public List<Questionario> getQuestionarios() {
		return questionarios;
	}

	/**
	 * @param questionarios the questionarios to set
	 */
	public void setQuestionarios(List<Questionario> questionarios) {
		this.questionarios = questionarios;
	}

	/**
	 * @return the respostas
	 */
	public List<Resposta> getRespostas() {
		return respostas;
	}

	/**
	 * @param respostas the respostas to set
	 */
	public void setRespostas(List<Resposta> respostas) {
		this.respostas = respostas;
	}

	/**
	 * @return the resposta
	 */
	public String getResposta() {
		return resposta;
	}

	/**
	 * @param resposta the resposta to set
	 */
	public void setResposta(String resposta) {
		this.resposta = resposta;
	}

	/**
	 * 
	 */
	private static final long serialVersionUID = -4676931153234029650L;
}
